/*
 * MVCPedidoOnline.java
 *
 * Created on 6 de abril de 2009, 10:09 AM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package com.nextel.project.pedido.mvc;

import com.nextel.project.Configuracion;
import com.nextel.project.pedido.ControlPedido;
import com.nextel.project.pedido.bean.PedidoBean;
import com.nextel.ui.OScrollList;
import com.nextel.ui.OSoftKey;
import com.nextel.ui.OUILook;
import com.nextel.ui.custom.OScrollListWrap;
import pe.com.nextel.idioma.IdiomaManager;
import pe.com.nextel.main.MVCAction;
import pe.com.nextel.util.ArrayList;
import pe.com.nextel.util.List;
import pe.com.nextel.util.math.MathUtil;

/**
 *
 *  
 */
public class MVCPedidoOnline extends MVCAction {
    
    private List lstObject;

    private OScrollListWrap lcdLista;
    private OSoftKey cmdSigue, cmdAtras;
    private boolean flagForm; // para que no presione dos veces al momento de buscar

    List listaDatos = new ArrayList();
    boolean primerVez = true;
    
    /** Creates a new instance of MVCPedidoOnline */
    
    
    protected void destroy() {

        super.destroy();

        if (this.lstObject != null) {
            this.lstObject.clear();
            this.lstObject = null;
        }
    
    }
    
    protected void createView()  {
        cmdSigue = new OSoftKey(Configuracion.BOTON_SEGUIR);
        cmdAtras = new OSoftKey(Configuracion.BOTON_ATRAS);
        
        formulario.setTitle(IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_PEDIDOS), OUILook.PLAIN_SMALL_TITLE);//"Pedidos"

        formulario.addSoftKey(cmdSigue);
        formulario.addSoftKey(cmdAtras);
    }
    
    protected void createItems() {
       flagForm = true;
        listaDatos.clear();
       
       try{
           lstObject  = ControlPedido.getInstance().currentCabeceras;
        }catch(Exception e){e.printStackTrace();}

        if (lstObject == null) {
            lstObject = new ArrayList();
        }

       for(int i=0; i<lstObject.size();i++){
           PedidoBean elem = (PedidoBean) lstObject.get(i);
           listaDatos.add(elem.getCodigoCliente()+"- " + Configuracion.Moneda + " " + MathUtil.setScale(elem.getMontoTotal(), Configuracion.DECIMAL_PRESENTACION));
         
       }


        lcdLista = new OScrollListWrap(formulario.getWidth(),formulario.getBodyHeight(),
                    OUILook.PLAIN_SMALL_SOFTKEY, OUILook.PLAIN_SMALL_TEXT);
        lcdLista.isWithBorder = false;
        lcdLista.setModeWrap(true);

        lcdLista.populate(listaDatos);

        formulario.add(lcdLista);
        
        flagForm = true;
    }
    
    public PedidoBean getSeleccionado() {
        return (PedidoBean) lstObject.get(lcdLista.getSelectedIndex());
    }
    
    public void performAction(OSoftKey c) {
        if(flagForm){
            if (c == cmdSigue) {
                
                flagForm = false;
                if(lstObject.size() > 0 ){
                    if(getSeleccionado().getLstPedidoDetalle().size() <= 0 ) {
                        ControlPedido.getInstance().showMensaje( IdiomaManager.getInstance().getMensaje(IdiomaManager.JAVA_PEDIDO_NO_DETALLE), this.lcdLista );//"El pedido no posee detalle"
                    } else {
                        ControlPedido.getInstance().currentPedido = getSeleccionado();
                       // ControlPedido.getInstance().setCurrent( ControlPedido.getInstance().mvcPedidoDetalleOnline );
                        destroy();
                    }
                    flagForm = true;
                }                
            }else  if (c == cmdAtras) {
                flagForm = false;
                ControlPedido.getInstance().setCurrent(ControlPedido.getInstance().mvcReporteKPI);
                destroy();
                flagForm = true;
            }
        }
    }


   




}
